satisfy all requirements